Списки динамического просмотра данных. Интерактивная установка отбора и сортировки по умолчанию

Данный раздел содержит ответ на вопрос "По каким полям данных пользователь сможет выполнять отбор и сортировку в табличных полях, предназначенных для динамического просмотра данных". Эта информация позволит принимать решение о необходимости переопределить при помощи встроенного языка отборы и сортировки, доступные пользователю по умолчанию.

Предмет рассмотрения данного раздела - только табличные поля "динамического просмотра данных", т.е. табличные поля, связанные с объектами типа СправочникСписок..., РегистрСведенийСписок... и т.д. Прочие табличные поля в разделе не рассматриваются.

Общие вопросы

Прежде всего хочется подчеркнуть, что предоставленные пользователю возможности управления отбором и порядком в общем случае меньше, чем возможности управления отбором и порядком из встроенного языка. Интерактивное управление ограничивается при помощи свойств НастройкаОтбора и НастройкаПорядка табличного поля, связанного со списком динамического просмотра (см. Расширение табличного поля списка справочника и т.п.). Управление из встроенного языка ограничивается составом полей свойств Отбор и Порядок списков динамического просмотра.

Для предоставления пользователю, например, возможности управлять отбором по тому или иному полю, нужно на основании настоящего материала определить, будет ли доступно такое поле "по умолчанию" и если нет - использовать объект НастройкаОтбора табличного поля для управления доступностью отбора из языка. Совсем не обязательно создавать на форме дополнительные элементы управления, предназначенные для организации такого "дополнительного" отбора - лучше, чтобы управление отбором находилось для пользователя в одном месте - в диалоге "Отбор и сортировка".

Сортировка

По умолчанию, для интерактивного управления сортировкой списка доступны такие поля источника данных, упорядочивание по которым будет эффективным. Например, по полям Код и Наименование справочника, полю Дата документа и т.д. Следует отметить, что у пользователя остается возможность сделать неэффективным просмотр списка, например, задав для справочника упорядочивание одновременно по коду и наименованию. Как именно система подбирает поля эффективного упорядочивания, а также как влияют настройки пользователя на эффективность работы списков динамического просмотра подробно обсуждается в статье "Особенности поведения списков динамического просмотра".

Кроме того, по умолчанию упорядочивание возможно только по тем полям источника данных, которые связаны с колонками табличного поля (свойства Данные и ДанныеФлажка).

Поля данных, по которым можно осуществлять сортировку, т.е. поля, которым соответствуют элементы порядка объекта Порядок, это все поля источника данных, кроме:

При этом следует помнить, что "составной тип данных" -  это не только тип, в котором явным образом определено несколько типов данных (при конфигурировании это можно задать установив флажок "Составной тип данных" в диалоге редактирования типа), но еще и:

Отбор

По умолчанию, для интерактивного отбора доступны такие поля источника данных, которые:

Видимость колонок табличного поля не влияет на состав доступных полей, как для отбора так и для сортировки. Это значит, что пользователь, управляя составом видимых полей табличного поля (команда "Настройка списка"), не влияет на состав полей, доступных для интерактивного управления отбором и сортировкой.

Поля данных, по которым можно осуществлять отбор, т.е. поля, которым соответствуют элементы отбора объекта Отбор, это все поля источника данных, кроме полей типа ХранилищеЗначения.

Тот факт, что состав доступных по умолчанию полей для сортировки подбирается намного "строже", чем для отбора, связан с тем, что в общем случае установка неоптимального упорядочивания сильнее влияет на эффективность работы списка динамического просмотра, чем установка неоптимального отбора.